package com.xm.biz.impl;

import com.xm.biz.UsersBiz;
import com.xm.dao.UsersDao;
import com.xm.dao.impl.UsersDaoImpl;
import com.xm.po.Users;

import java.util.List;

/**
 * @author xie'lin'feng
 * @date 2020-08-07-11:10
 * @description 用户业务逻辑接口实现类
 */
public class UsersBizImpl implements UsersBiz {
    //初始化数据层
    UsersDao usersDao = new UsersDaoImpl();
    /**
     * 用户登入方法
     * @param name 用户名
     * @param pwd 密码
     * @return
     */
    @Override
    public Users login(String name, String pwd) {
        Users user = usersDao.getUserByName(name);
        //判断用户是否存在
        if (null==user){
            return null;
        }
        //上面用户存在，就判断密码是否一样
        if (!user.getLoginPwd().equals(pwd)){
            return null;
        }
        //将密码设置为空
        user.setLoginPwd(null);
        return user;
    }

    /**
     * 根据手机号查询用户
     * @return
     */
    @Override
    public boolean usersByPhone(String phone) {
        Users users = usersDao.usersByPhone(phone);
        //判断输入的用户名是否与数据库查出来的一致
        if (users.equals(phone)){
            System.out.println("<script>" +
                    "$('#userExists').show();"+
                    "</script>");
            return true;
        }
        return false;
    }
    /**
     * 根据id和name显示用户信息
     * @param name
     * @param id
     * @return
     */
    @Override
    public List<Users> getUserByName(String name, String id) {
        //调用UserDao方法
        List<Users> userByName = (List<Users>) usersDao.getUserByName(name, id);
        return userByName;
    }

    /**
     * 查询所有用户信息
     * @return
     */
    @Override
    public List<Users> userQueryAll() {
        //调用dao层方法
        List<Users> users = usersDao.userQueryAll();
        return users;
    }
    /**
     * 根据id查询用户
     * @return
     */
    @Override
    public Users queryByOne(Integer id) {
        Users users = usersDao.queryByOne(id);
        return users;
    }
    /**
     * 修改用户信息
     * @param users
     * @return
     */
    @Override
    public boolean update(Users users) {
        boolean update = usersDao.update(users);
        return update;
    }
    /**
     * 根据id修改用户信息
     * @param id
     * @return
     */
    @Override
    public boolean updateById(Integer id) {
        boolean update = usersDao.updateById(id);
        return update;
    }
    /**
     * 根据id修改用户信息(解冻)
     * @param id
     * @return
     */
    @Override
    public boolean updateByid(Integer id) {
        boolean b = usersDao.updateByid(id);
        return b;
    }

    @Override
    public boolean updateLastLoginTime(Users users) {
        return usersDao.updateLastLoginTime(users);
    }
    /**
     * 根据名称查询用户信息(后台用户管理)
     * @param name
     * @return
     */
    @Override
    public Users queryOne(String name) {
        Users userByName = usersDao.getUserByName(name);
        return userByName;
    }
    /**
     * 新增用户
     * @param users
     * @return
     */
    @Override
    public boolean addUsers(Users users) {
        boolean b = usersDao.addUsers(users);
        return b;
    }
}
